"""
异常的传递
(1).如果一个异常发生了，但是没有捕获处理异常,那么这个异常会传递给调用者
(2).如果所有的调用者都没有处理,最终会由系统处理
"""
def f3():#f3()没有捕获处理10/0异常
    print("---f3()start----")
    print(10 / 0)
    print("---f3()end----")

def f2():#f2()没有捕获f3()传递的异常
    print("---f2()start----")
    f3()
    print("----f2()end----")

def f1():#f1()捕获处理f2()传递的异常
    try:
        f2()
    except Exception as e:
        print(f"f1()捕获异常{e}")

f1()